﻿using System.Threading.Tasks;
using K9Nano.LayIM.Events;
using K9Nano.LayIM.Models;

namespace K9Nano.LayIM
{
    public interface IChatAppOnlineStaffCache
    {
        ValueTask OnlineAsync(OnlineNotification staff);

        ValueTask OfflineAsync(OfflineNotification staff);

        OnlineNotification Next(LayIMChatRoom room);

        void Enqueue(LayIMChatRoom room);

        bool TryDequeue(string app, out LayIMChatRoom room);
    }
}